﻿using System;
using Mono.Collections.Generic;

namespace Mono.Cecil
{
	// Token: 0x02000073 RID: 115
	internal class GenericParameterConstraintCollection : Collection<GenericParameterConstraint>
	{
		// Token: 0x060004B8 RID: 1208 RVA: 0x00003D7B File Offset: 0x00001F7B
		internal GenericParameterConstraintCollection(GenericParameter genericParameter)
		{
			this.generic_parameter = genericParameter;
		}

		// Token: 0x060004B9 RID: 1209 RVA: 0x00003D8C File Offset: 0x00001F8C
		internal GenericParameterConstraintCollection(GenericParameter genericParameter, int length) : base(length)
		{
			this.generic_parameter = genericParameter;
		}

		// Token: 0x060004BA RID: 1210 RVA: 0x00003D9E File Offset: 0x00001F9E
		protected override void OnAdd(GenericParameterConstraint item, int index)
		{
			item.generic_parameter = this.generic_parameter;
		}

		// Token: 0x060004BB RID: 1211 RVA: 0x00003D9E File Offset: 0x00001F9E
		protected override void OnInsert(GenericParameterConstraint item, int index)
		{
			item.generic_parameter = this.generic_parameter;
		}

		// Token: 0x060004BC RID: 1212 RVA: 0x00003D9E File Offset: 0x00001F9E
		protected override void OnSet(GenericParameterConstraint item, int index)
		{
			item.generic_parameter = this.generic_parameter;
		}

		// Token: 0x060004BD RID: 1213 RVA: 0x00003DAD File Offset: 0x00001FAD
		protected override void OnRemove(GenericParameterConstraint item, int index)
		{
			item.generic_parameter = null;
		}

		// Token: 0x04000131 RID: 305
		private readonly GenericParameter generic_parameter;
	}
}
